﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace nl.hanze.i.web.t41
{
    class Populatie
    {
        private List<Mens> mensen;
        public Mens this[string index]
        {
            get {
                int i=0;
                foreach (Mens mens in mensen)
                {
                    if (mens.Bsn == index)
                        return mensen[i];
                    i++;
                }
                return null;
            }
        }


        public Populatie() { }

        public Populatie(List<Mens> mensen)
        {
            this.mensen = mensen;
        }

        public void voegToe(Mens mens)
        {
            this.mensen.Add(mens);
        }

        public Boolean verwijder(string bsn)
        {
            foreach (Mens mens in mensen)
            {
                if (bsn == mens.Bsn)
                    return mensen.Remove(mens);
            }
            return false;
        }

        public List<Mens> geefVrouwen()
        {
            List<Mens> tmp = new List<Mens>();
            foreach (Mens mens in mensen)
            {
                if (mens.Geslacht == Sexe.Vrouw)
                    tmp.Add(mens);
            }
            return tmp;
        }

        public List<Mens> geefMannen()
        {
            List<Mens> tmp = new List<Mens>();
            foreach (Mens mens in mensen)
            {
                if (mens.Geslacht == Sexe.Man)
                    tmp.Add(mens);
            }
            return tmp;
        }

        public List<Mens> geefVanJongNaarOud()
        {
            List<Mens> tmp = mensen;
            tmp.Sort(delegate(Mens m1, Mens m2) { return m1.getLeeftijd().CompareTo(m2.getLeeftijd()); } );
            return tmp;
        }

        public override string ToString()
        {
            string s = "";
            foreach(Mens mens in mensen)
            {
                s += "BSN: " + mens.Bsn + "\tNaam: " + mens.Naam + "\n";
            }

            return s;
        }
    }
}
